home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / Includes_and_Autodocs_3.5 / include / clib / alib_protos.h next >
Encoding:
C/C++ Source or Header  |  1999-10-20  |  4.7 KB  |  140 lines

  1. #ifndef  CLIB_ALIB_PROTOS_H
  2. #define  CLIB_ALIB_PROTOS_H
  3.  
  4. /*
  5. **    $VER: alib_protos.h 40.1 (6.6.1998)
  6. **    Includes Release 44.1
  7. **
  8. **    C prototypes. For use with 32 bit integers only.
  9. **
  10. **    Copyright © 1999 Amiga, Inc.
  11. **        All Rights Reserved
  12. */
  13.  
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif /* __cplusplus */
  17.  
  18. #ifndef  EXEC_TYPES_H
  19. #include <exec/types.h>
  20. #endif
  21. #ifndef  DEVICES_TIMER_H
  22. #include <devices/timer.h>
  23. #endif
  24. #ifndef  DEVICES_KEYMAP_H
  25. #include <devices/keymap.h>
  26. #endif
  27. #ifndef  LIBRARIES_COMMODITIES_H
  28. #include <libraries/commodities.h>
  29. #endif
  30. #ifndef  UTILITY_HOOKS_H
  31. #include <utility/hooks.h>
  32. #endif
  33. #ifndef  INTUITION_CLASSES_H
  34. #include <intuition/classes.h>
  35. #endif
  36. #ifndef  INTUITION_CLASSUSR_H
  37. #include <intuition/classusr.h>
  38. #endif
  39. #ifndef  GRAPHICS_GRAPHINT_H
  40. #include <graphics/graphint.h>
  41. #endif
  42. #ifndef  REXX_STORAGE_H
  43. #include <rexx/storage.h>
  44. #endif
  45.  
  46. /*  Exec support functions */
  47.  
  48. VOID BeginIO( struct IORequest *ioReq );
  49. struct IORequest *CreateExtIO( CONST struct MsgPort *port, LONG ioSize );
  50. struct MsgPort *CreatePort( CONST STRPTR name, LONG pri );
  51. struct IOStdReq *CreateStdIO( CONST struct MsgPort *port );
  52. struct Task *CreateTask( CONST STRPTR name, LONG pri, CONST APTR initPC, ULONG stackSize );
  53. VOID DeleteExtIO( struct IORequest *ioReq );
  54. VOID DeletePort( struct MsgPort *ioReq );
  55. VOID DeleteStdIO( struct IOStdReq *ioReq );
  56. VOID DeleteTask( struct Task *task );
  57. VOID NewList( struct List *list );
  58. APTR LibAllocPooled( APTR poolHeader, ULONG memSize );
  59. APTR LibCreatePool( ULONG memFlags, ULONG puddleSize, ULONG threshSize );
  60. VOID LibDeletePool( APTR poolHeader );
  61. VOID LibFreePooled( APTR poolHeader, APTR memory, ULONG memSize );
  62.  
  63. /* Assorted functions in amiga.lib */
  64.  
  65. ULONG FastRand( ULONG seed );
  66. UWORD RangeRand( ULONG maxValue );
  67.  
  68. /* Graphics support functions in amiga.lib */
  69.  
  70. VOID AddTOF( struct Isrvstr *i, LONG (*p)(APTR args), APTR a );
  71. VOID RemTOF( struct Isrvstr *i );
  72. VOID waitbeam( LONG b );
  73.  
  74. /* math support functions in amiga.lib */
  75.  
  76. FLOAT afp( CONST STRPTR string );
  77. VOID arnd( LONG place, LONG exp, STRPTR string );
  78. FLOAT dbf( ULONG exp, ULONG mant );
  79. LONG fpa( FLOAT fnum, BYTE *string );
  80. VOID fpbcd( FLOAT fnum, BYTE *string );
  81.  
  82. /* Timer support functions in amiga.lib (V36 and higher only) */
  83.  
  84. LONG TimeDelay( LONG unit, ULONG secs, ULONG microsecs );
  85. LONG DoTimer( struct timeval *, LONG unit, LONG command );
  86.  
  87. /*  Commodities functions in amiga.lib (V36 and higher only) */
  88.  
  89. VOID ArgArrayDone( VOID );
  90. STRPTR *ArgArrayInit( LONG argc, CONST STRPTR *argv );
  91. LONG ArgInt( CONST STRPTR *tt, CONST STRPTR entry, LONG defaultval );
  92. STRPTR ArgString( CONST STRPTR *tt, CONST STRPTR entry, CONST STRPTR defaultstring );
  93. CxObj *HotKey( CONST STRPTR description, struct MsgPort *port, LONG id );
  94. struct InputEvent *InvertString( CONST STRPTR str, CONST struct KeyMap *km );
  95. VOID FreeIEvents( struct InputEvent *events );
  96.  
  97. /* Commodities Macros */
  98.  
  99. /* CxObj *CxCustom(LONG(*)(),LONG id)(A0,D0) */
  100. /* CxObj *CxDebug(LONG id)(D0) */
  101. /* CxObj *CxFilter(STRPTR description)(A0) */
  102. /* CxObj *CxSender(struct MsgPort *port,LONG id)(A0,D0) */
  103. /* CxObj *CxSignal(struct Task *task,LONG signal)(A0,D0) */
  104. /* CxObj *CxTranslate(struct InputEvent *ie)(A0) */
  105.  
  106. /*  ARexx support functions in amiga.lib */
  107.  
  108. BOOL CheckRexxMsg( CONST struct RexxMsg *rexxmsg );
  109. LONG GetRexxVar( CONST struct RexxMsg *rexxmsg, CONST STRPTR name, STRPTR *result );
  110. LONG SetRexxVar( struct RexxMsg *rexxmsg, CONST STRPTR name, CONST STRPTR value, LONG length );
  111.  
  112. /*  Intuition hook and boopsi support functions in amiga.lib. */
  113. /*  These functions do not require any particular ROM revision */
  114. /*  to operate correctly, though they deal with concepts first introduced */
  115. /*  in V36.  These functions would work with compatibly-implemented */
  116. /*  hooks or objects under V34. */
  117.  
  118. ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message );
  119. ULONG CallHook( struct Hook *hookPtr, Object *obj, ... );
  120. ULONG DoMethodA( Object *obj, Msg message );
  121. ULONG DoMethod( Object *obj, ULONG methodID, ... );
  122. ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message );
  123. ULONG DoSuperMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
  124. ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message );
  125. ULONG CoerceMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
  126. ULONG HookEntry( struct Hook *hookPtr, Object *obj, APTR message );
  127. ULONG SetSuperAttrs( struct IClass *cl, Object *obj, ULONG tag1, ... );
  128.  
  129. /*  Network-support functions in amiga.lib. */
  130. /*  ACrypt() first appeared in later V39 versions of amiga.lib, but */
  131. /*  operates correctly under V37 and up. */
  132.  
  133. STRPTR ACrypt( STRPTR buffer, CONST STRPTR password, CONST STRPTR username );
  134.  
  135. #ifdef __cplusplus
  136. }
  137. #endif /* __cplusplus */
  138.  
  139. #endif   /* CLIB_ALIB_PROTOS_H */
  140.